1.数据库的基本概念
  1）什么是数据库？
    数据库就是一个按照数据结构对数据进行组织、存储、管理的仓库。
  2）什么是关系型数据库？
    关系型数据库是指按关系模型对数据进行组织、存储、管理的仓库。
    关系模型实际就是指数据表格（二维表）
  3）什么是非关系型数据库？
    不按关系模型对数据进行存放的数据库，统称NoSQL,有两层含义：
    第一层：no sql不是关系型数据库
    第二层：Not Only SQL不仅仅是关系型数据库
2.mongodb
  1)什么是mongodb?
    mongodb是一个分布式文件存储数据库管理系统，是目前非关系型数据库中
    最受欢迎使用量最大的。
  2）BSON
    BSON===二进制+JSON,允许直接存放二进制对象，比如：视频
3.安装使用
  1）安装
    选择完全安装
    默认安装在：c:/program fils/mongodb
    可执行文件：c:/program fils/mongodb/server/3.2/bin
  2)设置变量环境
    右键“计算机”->属性->高级系统设置->高级->环境变量->Path
    目的：在任意位置都可以直接使用mongod、mongo命令              
  3）创建文件夹
    d:\mongodb
    d:\mongodb\db
    d:\mongodb\log
    目的：为了挂载服务时存储数据和日志文件
  4）将mongodb挂载成为window的服务
    命令：cmd mongod --dbpath "D:\mongodb\db" --logpath "D:\mongodb\log\mongodb.log" --install --serviceName "MongoDB"
    解析：
        mongod：挂载服务的命令
        --dbpath "D:\mongodb\db"：设置数据库存放的位置
        --logpath "D:\mongodb\log\mongodb.log"：设置日志文件存放的位置
        --serviceName "MongoDB"：设置安装的服务名称
    注意：
      a.如果是32位的系统需要添加存储引擎的声明：--storageEngine mmapv1
      b.如果是win8或win10，命令必须以管理员身份运行
  5）测试mongodb
    进入命令行：cmd
    进入数据库管理模式：mongo
    执行数据库命令：show dbs
    退出数据库管理模式：exit
4.基本的命令
  1）数据库的命令
    show dbs//显示所有的数据库列表
    use 数据库名//创建或使用数据库
  2）集合的命令
    show collections//显示当前数据库的所有集合
  3）文档的命令
    db.集合名.insert()//新增数据
    db.集合名.find()//查询数据
    db.集合名.update()//修改数据
    db.集合名.remove({})//删除数据
5.高级的命令
  1）按条件查询
    db.集合名.find({单个条件})
    db.集合名.find({条件1,条件2})//多个条件并列时。必须同时满足才能查询
    db.集合名.find({"字段名":{$gt:值}})
    db.集合名.find({"字段名":{$in:[值1,值2,值n]})
    db.集合名.find({$or:[{条件1},{条件2},{条件n}]})//多个条件是或者关系，
    任意一个满足都直接查询
  2）排序sort
    db.集合名.find({单个条件}).sort({"字段名1":1,"字段名2":-1});
    说明：
      1升序
      -1降序
  3）限定输出
    limit
      db.集合名.find({单个条件}).limit(数字);
    skip
      db.集合名.find({单个条件}).skip(数字);
  4)模糊查询
    使用正则表达式实现模糊查询
    db.集合名.find({"字段名":正则表达式})          
